Pocket computers with graphical user interfaces have become increasingly popular in recent years. Perhaps the most common example of a pocket computer is a personal digital assistant (PDA), which may be embodied in various different forms. Some pocket computers resemble laptop personal computers but in a miniaturized scale, i.e. they comprise a graphical display and a small hardware keyboard. The graphical display is typically touch-sensitive and may be operated by way of a pointing tool such as a stylus, pen or a user's finger. Other pocket computers rely more heavily on a touch-sensitive display as the main input device and have thus dispensed with a hardware keyboard. Some of these pocket computers are in fact mobile terminals, i.e. in addition to providing typical pocket computer services such as calendar, word processing and games, they may also be used in conjunction with a mobile telecommunications system for services like voice calls, fax transmissions, electronic messaging, Internet browsing, etc.
It is well known in the field that because of the noticeably limited resources of pocket computers, in terms of physical size, display size, data processing power and input device, compared to laptop or desktop computers, user interface solutions known from laptop or desktop computers are generally not applicable or relevant for pocket computers.
It is generally desired to provide improvements to the user interface of such pocket computers so as to enhance the user friendliness and improve the user's efficiency when using the pocket computer.
In computers in general, and in pocket computers in particular, there is a need to navigate through content which is larger than what can be displayed on the current display. This is especially apparent when using a web browser application on a pocket computer, as web pages are usually designed to be displayed on normal computer displays being considerably larger than the displays of pocket computers.
A traditional way to solve this problem is to provide horizontal and vertical scrollbars, allowing a user to move the displayed content among the available content either by using scroll buttons on the scrollbar, or by moving the scroll indicator which indicates where the displayed content is located in the available content. On computers with a full size keyboard, it is also possible to move a cursor through the content with dedicated direction keys such as up, down, left, right, page up and page down, also resulting in content displayed on the display being shifted, or scrolled.
A more intuitive way to navigate through large content is to use what is called panning, a method which for example is used in Adobe Acrobat Reader® 7.0. This works in a similar way to when a user moves a paper with his/her hand on a desk in front of him/her. The user simply ‘drags’ the content by depressing a mouse button and moving the mouse while the mouse button is still depressed, and releasing the mouse button when the content is in the desired position.
Another function which is useful in computers is selecting data, for example text. Once the text is selected, the user may for example copy this text to a buffer which may be pasted into the same or another document.
A manner known in the art to perform data selection is to ‘drag’ over the text to be selected by depressing a mouse button, moving the mouse while pressing the mouse button over the text to be selected, and releasing the mouse button once the desired text is selected.
An issue thus arises of how to be able to provide a way for the user to pan and select data in the same document, as the method of dragging is used in both cases.
A conventional solution to this problem is to have different modes—one pan mode and one text selection mode. This is a solution available in Adobe Acrobat Reader® 7.0. Here, in an application area on the display, there are buttons available, allowing the user to switch between the different modes. However, this method is cumbersome and inconvenient, forcing the user to know or recognize which mode is currently active each time the user wishes to perform either a text selection operation or a panning operation.
Consequently, there is a problem in how to provide a simple and intuitive way for a user to select data in a manner distinct from the conventional drag-method.
Because of the size and limited user interface of pocket computers, they are limited in the graphical user interface in general, and in the way multiple selection may be provided in list elements, in particular.
In the prior art, there are two known attempts to solve this problem.
The first option is a combined discontinuous and continuous multiple selection. This works as follows: A user may perform single selections by tapping a list item. If the user wants to perform discontinuous multiple selection, the user may press down a certain hardware button and tap any of the list items, which then either become selected or unselected according to their initial state. If the user wants to perform continuous multiple selection, the user may do so by pressing the stylus down on the display and dragging over the desired items, which then change their state to be selected if the state is initially unselected, or unselected if the state is initially selected. This method enables the user to perform drag and drop operations, but the user has to be very careful not to release the depressed hardware button during operation.
The other option is continuous multiple selection only. This works as follows: A user may perform single selections by tapping a list item. If the user wants to perform continuous multiple selection, the user may do so by pressing the stylus down on the display and dragging over the desired items, which then change their state to either selected or unselected according to their initial state. Discontinuous multiple selection is not possible with this method. This method disallows the user to perform drag and drop operations, as all dragging interactions with the list are interpreted as selections.
Consequently there is a need for an invention that allows a user to select both single list items and discontinuous list items in a convenient and efficient manner.
In graphical user interfaces with windows, such as Microsoft Windows or Mac OS X, there often comes a situation where the user needs to move the active window, displayed over other windows, to see content of an underlying passive window. This same basic need is present in all handheld devices that have windowed graphical user interfaces.
In a desktop environment, window overlapping is not as great a problem, as available display space is large, and a mouse can easily be used to drag windows to another available area of the display.
In handheld devices, however, available display space is limited and there is most often no free space where to drag the window. Furthermore, in most handheld devices, the windowing system is designed so that dialog windows can not be dragged nor hidden. This makes some important use cases (e.g. checking a telephone number from an underlying application view to input it in the active window) impossible to perform.
In Nokia's Series 90 UI design, the problem with window overlapping is solved by enabling the user to drag dialog windows around the display and then return them to the center of the display automatically when the stylus was lifted. This approach works as such, but it has two major disadvantages. Firstly, the movement of the dialog affects performance adversely. Secondly, if the dialog is very large, i.e. occupies most of the visible display area, dragging the window can be inconvenient for the user, as he/she may have to drag the window across a large part of the whole display.
In Microsoft's Pocket PC environment, the user may drag dialog windows freely with a stylus. This may result in a situation where the user drags the dialog outside the visible display area, which instantly prevents any further interaction with the dialog. Thus the user can not close the dialog and may have to restart the application, which may result in a data loss.
In a Matchbox X11 window manager for handheld devices created by Mr. Matthew Allum (http://freshmeat.net/projects/matchbox/), like for the Pocket PC environment, the problem is solved by allowing the user to drag active dialogs anywhere on the display.
Consequently, there is a need for an invention allowing a user to conveniently and safely temporarily hide a currently active window.
In window-based graphical user interfaces, such as Microsoft Windows or Mac OS X, there often comes a situation when the size of viewable content (e.g. text document or WWW page) exceeds the physical size of the display or the size of the graphical user interface window. In most cases, this is fixed by showing scrollbars at one or more sides of the visible screen window, from which the user can scroll the content.
This same basic need is even more obvious in all handheld devices that have windowed graphical user interfaces and limited available screen space.
In handheld devices usable with stylus, the conventional interaction required for scrolling content, i.e. press stylus down on the scroll bar and drag horizontally or vertically, is very tiring for the hand, as the scroll bars may be positioned anywhere on the display, providing no physical support to alleviate scrolling. Moreover, in a handheld device, because of limited display space, the scroll bars are typically quite small (thin) and may therefore be difficult to hit with a stylus—particularly if the handheld device is used in a moving environment.
This leads to poor overall hardware ergonomics during scrolling and can be very disturbing for the overall user experience of the device.
In window-based graphical user interfaces for desktop computers, such as Microsoft Windows or Macintosh OS X, there is often a basic need for the user to switch between running applications. The same basic need is present in hand-held devices that have windowed graphical user interfaces.
In a desktop environment, windows can be scaled and moved with a mouse, so that underlying windows can be seen behind the current window. Desktop environments also have other ways for showing running applications and switching between them. The Windows Task bar and the Macintosh OS X Dock are two common examples. Yet another common way is to provide an application list that may be shown in the middle of the display. The list is shown when the user presses a key combination (Alt+Tab for Windows and Linux, Cmd+Tab for Macintosh).
Most hand-held devices do not support multiple windows, nor do they provide for closing of applications. Therefore, such hand-held devices do not need to deal with the switching issue. Instead, devices with operating systems like the one in the Nokia 7710 Communicator, Symbian, Microsoft Pocket PC or Palm OS provide the user with a list of recently used applications.
The Windows CE hand-held operating system has a Task bar similar to desktop Windows. When an application is launched, its icon (and title) is shown in the Task bar. If another application is launched, its icon is shown next to the previous one. If the user wants to switch to the first application, he can tap its icon in the Task bar. These icons do not change their relative order when the user changes between applications.
In summary, a problem with the prior art in this respect is how to efficiently and intuitively switch between running applications on a hand-held device such as a pocket computer.